package com.csy.orm_mybatis.generator;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.Collections;

/**
 * <p>
 * 自动生成代码
 * </p>
 */
public class GeneratorServiceEntity {
    public static void main(String[] args) {
        String url = "jdbc:mysql://192.168.56.10:3306/orm_test?serverTimezone=UTC";
        String username = "root";
        String password = "root";
        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> {
                    builder.author("csy") // 设置作者
                            .disableOpenDir() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("F:\\IdeaProject\\orm_test\\orm_mybatis\\src\\main\\java\\"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.csy.orm_mybatis") // 设置父包名
                            .moduleName(null) // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "F:\\IdeaProject\\orm_test\\orm_mybatis\\src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.entityBuilder().enableLombok();
                    builder.mapperBuilder().enableMapperAnnotation();
                    builder.controllerBuilder().enableHyphenStyle().enableRestStyle();
                    builder.addInclude("twitter");// 设置需要生成的表名
//                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })
                .execute();

    }
}